<!DOCTYPE html>
<html>
	<head>
		<title>王者荣耀-英雄数据表</title>
		<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.6.0.min.js"></script>
		<script src="http://cdn.staticfile.org/moment.js/2.18.1/moment.min.js"></script>
		<script src="http://cdn.staticfile.org/moment.js/2.18.1/locale/zh-cn.js"></script>
		<script>
			$(function() {
				loadHeros();

				function loadHeros() {
					$.ajax({
						url: 'http://118.25.42.197:9930/api/heros',
						method: 'GET',
						success: (result) => {
							console.log("获得英雄数据", result);
							renderingHeroList(result);
							loadMyHero();
						},
						fail: (error) => {
							console.log("获得英雄数据出错", error);
						}
					})
				}
				
				function loadMyHero(){
					$.ajax({
						url: 'http://118.25.42.197:9930/api/heros/mine',
						method: 'GET',
						success: (result) => {
							renderingMyHeroList(result);
						},
						fail: (error) => {
							console.log("获得我的英雄数据出错", error);
						}
					})
				}
				
				function renderingMyHeroList(heros){
					for(var i=0;i<heros.length;i++){
						var hero=heros[i];
						var timeString=hero.lastTime.replace('T',' ');
						hero.timeText=moment(timeString).fromNow();
						var heroDom=$("#hero-"+hero.heroId+" .myhero").text("常用英雄");
						heroDom=$("#hero-"+hero.heroId+" .hero-time").text(hero.timeText);
					}
					
				}
				
				function renderingHeroList(heros){
					$("#heroList").empty();
					for (var i = 0; i < heros.length; i++) {
						var hero=heros[i];
						hero.timeText="";
						var heroDom=getHeroDom(hero);
						$("#heroList").append(heroDom);
					}
				}

				function getHeroDom(hero) {
					var dom = '<div class="heroItem" id="hero-'+hero.heroId+'">' +
						'<div class="line line-top">' +
						'<div class="heroName">'+hero.name+'</div>' +
						'<div class="heroNickname">'+hero.nickname+'</div>' +
						'</div>' +
						'<div class="line line-middle">' +
						'<div class="hero-icon">' +
						'<img src="'+hero.icon+'">' +
						'</div>' +
						'<div class="hero-grades">' +
						'<div class="grade-value">'+
					'<div class="grade-label">防御能力</div>' +
					'<div style="width:210px;background-color:rgba(99,99,99,0.8);"><div class="grade-bar" style="background-color:#2c97de;width:'+(hero.abilityHp*20)+'px;"></div></div>' +
					'</div>' +
					'<div class="grade-value">' +
					'<div class="grade-label">物理攻击</div>' +
					'<div style="width:210px;background-color:rgba(99,99,99,0.8);"><div class="grade-bar" style="background-color:#f2c500;width:'+(hero.abilityAttack*20)+'px;"></div></div>' +
					'</div>' +
					'<div class="grade-value">' +
					'<div class="grade-label">魔法攻击</div>' +
					'<div style="width:210px;background-color:rgba(99,99,99,0.8);"><div class="grade-bar" style="background-color:#f59d00;width:'+(hero.abilitySkill*20)+'px;"></div></div>' +
					'</div>' +
					'<div class="grade-value">' +
					'<div class="grade-label">上手难度</div>' +
					'<div style="width:210px;background-color:rgba(99,99,99,0.8);"><div class="grade-bar" style="background-color:#1eca6b;width:'+(hero.abilityDiff*20)+'px;"></div></div>' +
					'</div>' +
					'</div>' +
					'</div>' +
					'<div class="line line-bottom">' +
					
					'<div class="hero-tags">'+(hero.tag.split(",").join(" | "))+'</div>' +
					'<div class="hero-time">'+(hero.timeText)+'</div>' +
					'<div class="myhero">'+("不常用")+'</div>' +
					'<div class="hero-gold">'+hero.gold+'</div>' +
					'</div>' +
					'</div>';
					return $(dom);
				}
			});
		</script>
	</head>
	<body>
		<div id="heroList">
<!-- 			<div class="heroItem">
				<div class="line line-top">
					<div class="heroName">盘古</div>
					<div class="heroNickname">破晓之神</div>
				</div>
				<div class="line line-middle">
					<div class="hero-icon">
						<img src="https://img.18183.com/uploads/allimg/200309/266-2003091P240.jpg">
					</div>
					<div class="hero-grades">
						<div class="grade-value">
							<div class="grade-label">生存能力</div>
							<div class="grade-bar" style="width:200px;"></div>
						</div>
						<div class="grade-value">
							<div class="grade-label">攻击伤害</div>
							<div class="grade-bar" style="width:160px;"></div>
						</div>
						<div class="grade-value">
							<div class="grade-label">技能效果</div>
							<div class="grade-bar" style="width:160px;"></div>
						</div>
						<div class="grade-value">
							<div class="grade-label">上手难度</div>
							<div class="grade-bar" style="width:120px;"></div>
						</div>
					</div>
				</div>
				<div class="line line-bottom">
					<div class="hero-tags">近战,物理</div>
					<div class="hero-gold">13888</div>
				</div>
			</div>

			<div class="heroItem">
				<div class="line line-top">
					<div class="heroName">铠</div>
					<div class="heroNickname">破灭刃锋</div>
				</div>
				<div class="line line-middle">
					<div class="hero-icon">
						<img src="https://img.18183.com/uploads/allimg/200309/266-2003091QG1.jpg">
					</div>
					<div class="hero-grades">
						<div class="grade-value">
							<div class="grade-label">生存能力</div>
							<div class="grade-bar" style="width:120px;"></div>
						</div>
						<div class="grade-value">
							<div class="grade-label">攻击伤害</div>
							<div class="grade-bar" style="width:80px;"></div>
						</div>
						<div class="grade-value">
							<div class="grade-label">技能效果</div>
							<div class="grade-bar" style="width:100px;"></div>
						</div>
						<div class="grade-value">
							<div class="grade-label">上手难度</div>
							<div class="grade-bar" style="width:120px;"></div>
						</div>
					</div>
				</div>
				<div class="line line-bottom">
					<div class="hero-tags">近战</div>
					<div class="hero-gold">13888</div>
				</div>
			</div> -->
		</div>
	</body>
	<style>
		body {
			padding: 0;
			margin: 0;
			background-color: rgba(16, 42, 76, 0.9);
			color: #fff;
			display: flex;
			justify-content: center;
			align-items: center;
			height: 100vh;
			width: 100%;
			overflow: hidden;
		}

		#heroList {
			width: 80%;
			min-height: 300px;
			height: calc(100vh - 100px);
			padding: 20px;
			background-color: rgba(16, 42, 76, 0.8);
			border-radius: 20px;
			display: flex;
			justify-content: space-around;
			overflow-y: auto;
			flex-wrap: wrap;
		}

		#heroList .heroItem {
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			height: 200px;
			width: calc(50% - 40px);
			min-width: 100px;
			background-color: rgba(10, 10, 10, 0.6);
			box-shadow: 2px 2px 3px rgba(10, 10, 10, 0.5);
			margin-bottom: 20px;
		}

		#heroList .line {
			display: flex;
			align-items: center;
		}

		#heroList .line-top {
			justify-content: space-between;
			height: 32px;
			line-height: 32px;
			padding: 10px;
		}

		#heroList .line-bottom {
			justify-content: space-between;
			height: 32px;
			line-height: 32px;
			background-color: rgba(250, 187, 43, 0.3);
			padding: 0 10px;
		}

		#heroList .line-middle {
			flex: 1;
			padding: 0 10px;
		}

		#heroList .heroName {
			font-size: 180%;
			font-weight: 500;
		}

		#heroList .heroNickname {
			padding: 0px 10px;
			border-radius: 5px;
			color: rgba(250, 187, 43, 1);
			font-size: 120%;
		}

		#heroList .hero-grades {
			margin-left: 20px;
			flex: 1;
		}

		#heroList .hero-grades .grade-value {
			display: flex;
			align-items: center;
			justify-content: flex-start;
		}

		#heroList .hero-grades .grade-label {
			color: #eee;
			margin-right: 5px;
			width:80px;
		}

		#heroList .hero-grades .grade-bar {
			height: 10px;
			background-color: rgba(250, 187, 43, 0.9);
		}

		#heroList .hero-gold {
			font-size: 110%;
			background-color:#df4706;
			color:#eee;
			font-weight: 500;
			height: 25px;
			line-height: 25px;
			padding: 0 20px;
			border-radius: 12.5px;
			text-align: center;
			min-width:60px;
			width:60px;
		}
		
		#heroList .myhero{
			font-size: 110%;
			flex:1;
			margin-left:10px;
		}

		#heroList .hero-icon {
			width: 100px;
			height: 100px;
		}
		#heroList .hero-icon img{
			width: 100px;
			height: 100px;
		}

		#heroList .hero-tags {
			background-color: rgba(0, 0, 0, 0.4);
			height: 25px;
			line-height: 25px;
			padding: 0 20px;
			border-radius: 12.5px;
		}
	</style>
</html>
